package model.bo;

import java.math.BigDecimal;
import model.entidade.Emprestimo;
import org.junit.After;
import org.junit.Before;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author Rúben
 */
public class EmprestimoBOTestCamposObrigatorios {

    public EmprestimoBOTestCamposObrigatorios() {
    }
    
    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }
    
    @Before
    public void setUp() {
    }
    
    @After
    public void tearDown() {
    }
    
    /**
     * Testes do método que verifica se os campos obrigatórios estão preenchidos.
     * São campos obrigatórios: nome, sexo, salário atual, CPF, data de nascimento e data de admissão.
     * 
     * @author Zeno
     * 
     */
    
    @Test(expected = EmprestimoException.class) 
    public void testObrigatoriedadeNula() throws EmprestimoException {
        Emprestimo emprestimo = new Emprestimo("", null, 0);
        camposPreenchidos(emprestimo);
    }
    
    @Test
    public void testObrigatoriedadePreenchida() throws EmprestimoException {
        Emprestimo emprestimo = new Emprestimo("99999999999", new BigDecimal(500.00), 3);
        camposPreenchidos(emprestimo);
    }
    
    private void camposPreenchidos(Emprestimo emprestimo) throws EmprestimoException {
        boolean valido = EmprestimoBO.getInstance().verificaCamposObrigatorios(emprestimo);
        assertEquals(true, valido);
    }
    
    private void camposNaoPreenchidos(Emprestimo emprestimo) throws EmprestimoException {
        boolean invalido = EmprestimoBO.getInstance().verificaCamposObrigatorios(emprestimo);
    }
    
}
